Public Class Estudiante
    Private mcarnet As String
    Private mnombre As String
    Private mprimerApellido As String
    Private msegundoApellido As String
    Private mmail As String
    Private mregistroNotas As ComponenteEvaluacion
    Private idGrupo As Integer 'se necesita para levantar las notas de un estudiante en un grupo dado


    Public Sub New(ByVal pcarnet As String, ByVal pnombre As String, ByVal pprimerApellido As String, ByVal psegundoApellido As String, ByVal pmail As String)
        Me.mcarnet = pcarnet
        Me.Nombre = pnombre
        Me.PrimerApellido = pprimerApellido
        Me.SegundoApellido = psegundoApellido
        Me.Mail = pmail
    End Sub

    Public Sub New(ByVal pcarnet As String, ByVal pnombre As String, ByVal pprimerApellido As String, ByVal psegundoApellido As String, ByVal pmail As String, ByVal idGrupo As Integer)
        Me.mcarnet = pcarnet
        Me.Nombre = pnombre
        Me.PrimerApellido = pprimerApellido
        Me.SegundoApellido = psegundoApellido
        Me.Mail = pmail
        Me.idGrupo = idGrupo
    End Sub

    Public Sub New()
    End Sub

    Public Property Carnet() As String
        Get
            Return mcarnet
        End Get
        Set(ByVal Value As String)
            mcarnet = Value
        End Set
    End Property

    Public Property Nombre() As String
        Get
            Return mnombre
        End Get
        Set(ByVal Value As String)
            mnombre = Value
        End Set
    End Property

    Public Property PrimerApellido() As String
        Get
            Return mprimerApellido
        End Get
        Set(ByVal Value As String)
            mprimerApellido = Value
        End Set
    End Property

    Public Property SegundoApellido() As String
        Get
            Return msegundoApellido
        End Get
        Set(ByVal Value As String)
            msegundoApellido = Value
        End Set
    End Property

    Public Property Mail() As String
        Get
            Return mmail
        End Get
        Set(ByVal Value As String)
            mmail = Value
        End Set
    End Property

    Public Property Notas() As ComponenteEvaluacion
        Get
            If (mregistroNotas Is Nothing) Then
                mregistroNotas = MultiPlan.LevantarNotasXPorEstudiante(Me.Carnet, Me.idGrupo)
            End If
            Return mregistroNotas
        End Get
        Set(ByVal value As ComponenteEvaluacion)
            mregistroNotas = value
            MultiPlan.RegistrarRubroXEstudiante(Me.Carnet, Me.Notas)
        End Set
    End Property



End Class